package br.pucrs.simulador.comum;

import java.util.ArrayList;

public class ListaEvento {
	private ArrayList<Evento> listaEvento;

	private int eventosExecutados;

	public ListaEvento() {
		this.listaEvento = new ArrayList<Evento>();
		this.eventosExecutados = 0;
	}
	
	public Evento getMenorEvento(){
		
		if(listaEvento.isEmpty())
			return null;
		
		int posicaoRetirar = 0;
		Evento menorEvento = listaEvento.get(posicaoRetirar);
		
		
		for(int i=1; i<listaEvento.size();i++){
			if(menorEvento.getTempo() > listaEvento.get(i).getTempo()){
				menorEvento = listaEvento.get(i);
				posicaoRetirar = i;
			}
		}
		
		//Retira evento da lista
		listaEvento.remove(posicaoRetirar);
		
		//Contabiliza eventos executados
		this.incrementarEventosExecutados();
		
		//Retorna o proximo evento
		return menorEvento;
	}



	/** Nao deve ser usado
	public void setEventosExecutados(int eventosExecutados) {
		this.eventosExecutados = eventosExecutados;
	}
	**/

	public void incrementarEventosExecutados() {
		this.eventosExecutados++;
	}

	public void addEvento(Evento evento) {
		this.listaEvento.add(evento);
	}
	
	public int getEventosExecutados() {
		return eventosExecutados;
	}

}
